package cn.liu.hrm.web.controller;

import cn.liu.hrm.util.AjaxResult;
import cn.liu.hrm.utils.RedisUtils;
import org.springframework.web.bind.annotation.*;
//操作Redis的API接口
/*
 * @PathVariable("key") String key :
 *              从url上面去获取一个参数 ，如："/redis/get/{key}" ， 浏览器访问：  /redis/get/111
 *
 * @RequestBody User user : 是从请求体中获取数据，一般是把一个json格式的数据，转成对象
 *              浏览器访问： body { id:1 ,username:zs,age:11}
 *
 * @RequestParam("key") : 是从请求中获取一次名字为 “key”的参数
 */
@RestController
public class RedisController {

    //保存值
    @RequestMapping(value = "/redis/set",method = RequestMethod.POST)
    public AjaxResult setString(@RequestParam("key")String key,@RequestParam("value")String value){
        RedisUtils.INSTANCE.set(key,value);
        return AjaxResult.me();
    }

    //获取值
    @RequestMapping(value = "/redis/get/{key}",method = RequestMethod.GET)
    public AjaxResult getString(@PathVariable("key")String key){
        String result = RedisUtils.INSTANCE.get(key);
        return AjaxResult.me().setResultObj(result);
    }

    //获取值并设置过期时间
    @RequestMapping(value = "/redis/setex",method = RequestMethod.POST)
    public AjaxResult setex(@RequestParam("key")String key,@RequestParam("seconds")int seconds,@RequestParam("value")String value){
        RedisUtils.INSTANCE.setex(key,seconds,value);
        return AjaxResult.me();
    }

}
